#include "hanshu.h"

#define MY_MIN2(a, b) a < b ? a : b

int main(int argc, char const *argv[])
{

	int a = 1;
	int b = 3;
	int c = 0;
	// 内联函数
	/*
	++a 只执行一次，a 从 1 变为 2，比较 2 < 3，结果为 true，返回 2。
	输出：a = 2, b = 3, c = 2。
	*/
	c = my_min1(++a, b);
	cout << "a = " << a << " b = " << b << " c = " << c << endl; // 输出：2 3 2

	a = 1;
	b = 3;
	c = 0;
	// 宏函数、
	/*
	 宏定义替换后 ++a 执行两次，第一次 a 变为 2，比较 2 < 3，结果为 true，再次执行 ++a，a 变为 3，返回 3。
	输出：a = 3, b = 3, c = 3。
	*/
	c = MY_MIN2(++a, b);
	cout << "a = " << a << " b = " << b << " c = " << c << endl; // 输出：3 3 3

	return 0;
}
